/*! \file BaseShaderImpl.h
 *	\brief <write description for BaseShaderImpl.h>
 *
 *	created:	2010/04/14
 *	created:	14:4:2010   16:58
 *	filename: 	c:\src\tactics-engine\libs\gd\BaseShaderImpl.h
 *	file path:	c:\src\tactics-engine\libs\gd
 *	file base:	BaseShaderImpl
 *	file ext:	h
 *	author:		Vitalii Trubchaninov
 *				venngraydog@gmail.com
 */

#ifndef _GD_BASESHADERIMPL_H_
#define _GD_BASESHADERIMPL_H_

#pragma once

namespace tt{
namespace gd{

class DeviceContext;

class BaseShaderImpl
{
public:
	BaseShaderImpl();
	virtual ~BaseShaderImpl();

	void apply(DeviceContext*);

protected:
	virtual void onApply(DeviceContext*) = 0;
};

} //namespace gd
} //namespace tt
#include "BaseShaderImpl.inl"

#endif //_GD_BASESHADERIMPL_H_